<?php
declare(strict_types=1);

namespace App\Utils;

/**
 * @Description 对接前端对应的方法封装类
 * @author wuxian
 * @since 2020-04-15
 */
class ApiUtils
{
    /**
     * @param integer $code  返回前端的code码
     * @param string $msg   返回给前端的提示语
     * @param [type] $data  返回给前端的数据
     * @param integer $totalItem  分页的总页数
     * @return array
     * @Description  返回客户端的数据格式
     * @author wuxian
     * @since 2020-04-16
     */
    public static function send(int $code = 0, string $msg = '', $data = [], int $totalItem = 1): array
    {
        return ['msg' => $msg, 'errCode' => $code, 'data' => $data, 'totalItem'=> $totalItem];;
    }

    /**
     * @param [type] $password  要加密的密码
     * @return string
     * @Description 加密用户密码
     * @author wuxian
     * @since 2020-04-16
     */
    public static function encryption($password): string
    {
        return md5(config('web.slot') . $password);
        
    }

    /**
     * @param [type] $password 明文密码
     * @param [type] $encr_pwd  加密后的密码
     * @return string
     * @Description  检查用户密码是否正确
     * @author wuxian
     * @since 2020-04-16
     */
    public static function decryption($password,$encr_pwd): bool
    {
        return self::encryption($password) == $encr_pwd;
    }

    //得到用户信息
    public static function userInfo()
    {
        return \Hyperf\Utils\Context::get('user_info');
    }

    //解析号码运营商
    /**
     * @param [type] $type 运营商名字
     * @return int
     * @Description  运营商名字对应数字
     * @author wuxian
     * @since 2020-04-21
     */
    public static function mobileOperator( string $type) :int
    {
        if(stripos($type, '联通') !== false){
            return 3;
        }else if(stripos($type,'移动') !== false){
            return 1;
        }else if(stripos($type, '电信') !== false){
            return 2;
        }else{
            return 0;
        }
        
    }

    //自动给城市加市或省
    public static function citySuffix($city)
    {
        if(in_array(\substr($city,0 ,2),['北京','天津','重庆','上海'])){
            return $city.'市';
        }else{
            return $city.'省';
        }
    }

    /**
     * @param array $arr 
     * @return 
     * @Description  从数组中随机选一个值
     * @author wuxian
     * @since 2020-04-17
     */
    public static function randByArray(array $arr)
    {
        $index = array_rand($arr);
        return $arr[$index];
    }

    
}